const Koa = require('koa');
const logger = require('koa-logger');
const json = require('koa-json');
const onerror = require('koa-onerror');
const koaBody = require('koa-body').default || require('koa-body');
const cors = require('@koa/cors');
const path = require('path');
const dotenv = require('dotenv');
const apiRoutes = require('./routes/api'); // 引入 api.js 路由
const { authenticateUser } = require('./middleware/auth'); // 引入身份验证中间件

dotenv.config();

const app = new Koa();

// 错误处理
onerror(app);

// 使用 CORS 中间件
app.use(cors({
  origin: '*' // 允许所有来源
}));

// 使用 koa-body 中间件来解析请求体
app.use(koaBody({
  multipart: true,         // 支持 multipart/form-data
  urlencoded: true         // 支持 application/x-www-form-urlencoded
}));

app.use(json());
app.use(logger());



// 路由
app.use(apiRoutes.routes()).use(apiRoutes.allowedMethods());

// 错误处理
app.on('error', (err, ctx) => {
  console.error('server error', err, ctx);
});

module.exports = app;








